package dao;

import java.util.HashMap;

import allaboutmybook.UsuarioLogin;

import daosbd.DaoGenericoJPA;

import excecoes.ChaveJaExisteException;
import excecoes.DAOException;


public class DaoConcretoLogin extends DaoGenericoJPA<UsuarioLogin> implements DAOLogin
{
	
	
	public DaoConcretoLogin()
	{
		
	}

	@Override
	public boolean loginEstahCorreto(String nomeUsuario, String senha) throws DAOException 
	{
		try
		{
			if(this.encontrarPorId(nomeUsuario) != null)
			{
				//entao existe um usuario com esse nome. Serah que a senha Estah correta?
				UsuarioLogin registroUsuario = this.encontrarPorId(nomeUsuario);
				if(registroUsuario.getSenhaUsuario().compareTo(senha) == 0)
				{
					return true;
				}
			}
			
			return false;
		}
		catch(DAOException exc)
		{
			throw new DAOException(exc);
		}
		
	}

	
	public void criarLogin(String nomeUsuario, String senha) throws ChaveJaExisteException, DAOException
	{
		
		try
		{
			if(this.encontrarPorId(nomeUsuario) != null)
			{
				//ih, usuario jah existe, ntao nao podemos criar um novo login...
				throw new ChaveJaExisteException();
			}
			else
			{
				//vamos agora criar o login
				UsuarioLogin novoUsuario = new UsuarioLogin();
				novoUsuario.setNomeUsuario(nomeUsuario);
				novoUsuario.setSenhaUsuario(senha);
				this.adicionarEntidade(novoUsuario);
			}
		}
		catch(DAOException exc)
		{
			throw new DAOException(exc);
		}
		
	}

}
